home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Deutsche Edition 1
/
Deutsche Edition 1.iso
/
amok
/
amok_lha
/
amok82.lha
/
Mini
/
Mini.LiesMich
< prev
next >
Wrap
Text File
|
1993-08-15
|
3KB
|
117 lines
Mini
==========
Dieses Verzeichnis enthält den Mini-Compiler, der im Amiga Programmieren
Sonderheft (Markt&Technik) beschrieben wird.
Dieser Compiler dürfte mit weniger als 8KB Quelltext und 15KB Programmcode
einer der kleinsten Compiler überhaupt sein. Dennoch enthält er alle Teile,
die auch in einem 'großen' Compiler zu finden sind.
Die Sprache Mini:
Mini ist eine sehr einfache Programmiersprache. Ein Mini-Programm
besteht aus dem Schlüsselwort
PROGRAM
, einem optionalen
Varialbendeklarationsteil, dem Schlüsselwort
BEGIN
, den Anweisungen
und
END
:
PROGRAM
[VarDeclaration]
BEGIN
{Statement}
END
Der Variablendeklarationsteil wird durch
VAR
eingeleitet und listet
die Namen der Variablen, die durch Kommas getrennt werden, auf:
VAR
Identifier { "," Identifier }
An Anweisungen kennt Mini lediglich die Zuweisung eines Wertes an eine
Variable mit '=':
Identifier "=" Expression
eine einfache Schleife, die solange ausgeführt wird, wie der Ausdruck
hinter
WHILE
größer als null ist:
WHILE
Expression
DO
{ Statement }
END
und eine Ausgabeanweisung für Zahlen
PRINT
Expression
In einem Ausdruck können die Faktoren lediglich addiert oder subtrahiert
werden:
[ "+" | "-" ] Factor { [ "+" | "-" ] Factor }
Faktoren sind entweder Variablenbezeichner oder Konstanten:
Identifier | Constant
Die EBNF-Syntax von Mini ist in der Datei Grammatik.ebnf gegeben.
Benutzung des Compilers:
Der Compiler erwartet den Namen einer Mini-Quelltextdatei als Argument.
Die Ausgabe des Compilers ist der erzeugte Assembler-Code. Er sollte in
eine Datei umgeleitet werden. Bsp:
Mini >Fibonacci.s Fibonacci.mini
Nun muß der Text noch assembliert werden (etwa mit
a68k
von Fish 521):
a68k Fibonacci.s
zuletzt wird mit
OLink FROM Fibonacci.o TO Fibonacci
oder mit
BLink Fibonacci.o TO Fibonacci
ein ausführbares Programm erzeugt.
Beispielprogramme:
Fibonacci.mini:
Berechnet die ersten 46 Fibonacci-Zahlen
Fak.mini:
Berechnet die Fakultäten 1! bis 12!
GGT.mini:
Berechnet den GGT zweier Zahlen (Konstanten im Programm)
Prim.mini:
Bestimmt die Primzahlen unter den Zahlen 1 bis 1000.
Weitere Mini-Programme:
Wie man an Prim.mini sieht, können mit dieser einfachen Sprache auch recht
Komplexe Dinge berechnet werden. Wer weitere Mini-Programme schreibt,
die interessante Dinge berechnen, der schicke mit bitte seine Mini-
Quelltexte.
Theoretisch sind alle Berechnungen, die mit irgendeiner Programmiersprache
formuliert werden können, auch mit Mini lösbar. Schwierig ist es nur,
auch in Mini effiziente Lösungen zu finden.
Viel Spaß mit dem Mini-Compiler!
--- Fridtjof.
Fridtjof Siebert
Nobileweg 67
7000 Stuttgart 40
siebert@minnie.informatik.uni-stuttgart.de
fridi@amokst.adsp.sub.org